package MiddlePractice;

import java.util.Arrays;

public class Demo581 {
//	581. 最短无序连续子数组
//	给你一个整数数组 nums ，你需要找出一个 连续子数组 ，如果对这个子数组进行升序排序，那么整个数组都会变为升序排序。
//
//	请你找出符合题意的 最短 子数组，并输出它的长度。
	
	
	public int findUnsortedSubarray(int[] nums) {
		
		int[] numsCp = Arrays.copyOf(nums, nums.length);
		
		int i=0, j=nums.length-1;
		Arrays.sort(numsCp);
		
		while(i<nums.length && nums[i] == numsCp[i]) {
			i++;
		}
		while(j>i && nums[j] == numsCp[j]) {
			j++;
		}
		
		return j-i+1;
		
    }
	
}
